In recent years, software installed in home electric apparatuses such as air conditioners, refrigerators, portable music players, and the like, has become of higher functionality. As a result, software bugs are sometimes found after product shipment, and in some cases a software update or a recall of the home electric apparatus itself is necessary.
In the case of a personal computer, a large-capacity storage apparatus such as a hard disk, and a LAN (Local Area Network) card, Internet modem, or suchlike Internet connection function are installed as standard, making it possible for automatic software updates to be performed comparatively easily. For example, a software module for automatic software updating is installed in the large-capacity storage apparatus, the personal computer is periodically connected to a server via the Internet using this module, and the latest software version is received from the server and stored in the large-capacity storage apparatus.
On the other hand, in the case of a home electric apparatus, a large-capacity storage apparatus and Internet connection function are rarely installed as standard, and therefore it is difficult to update software in the same way as with a personal computer.
Even if an Internet connection function were installed as standard in a home electric apparatus, it would still be difficult to set up facilities for software updates. This is because home electric apparatuses are used in great numbers by an unspecified number of consumers, home electric apparatus software differs from model to model, and software versions may differ even between home electric apparatuses of the same model depending on their date of shipment.
Furthermore, when performing a home electric apparatus software update, security of the distributed software is also important. For example, it is essential to dependably prevent such actions by a malicious third party as tampering with distributed software through the insertion of invalid code, or deciphering of secret information such as know-how or algorithms related to a home electric apparatus within distributed information. It is therefore necessary for software and accompanying information to be encrypted when distributed.
A method of handling these issues is described in Patent Document 1, for example. In this apparatus, an execution program is stored rewritably in a first storage section, and a download module containing a new execution program and module identification information is stored in a second storage section. A download module encrypted using an encryption key created from the execution program and module identification information stored in the first storage section is received, and stored in the second storage section. Then the download module is decrypted using an encryption key created from the execution program in the first storage section and the download module in the second storage section. When an encrypted storage start address, data length, and check digit within the download module are decrypted to valid values, the execution program in the first storage section is replaced by the decrypted new execution program. That is to say, execution program tampering or deciphering are prevented by receiving a download module encrypted using the current execution program and download module identification information.    Patent Document 1: International Publication No. 2002/057904 Pamphlet    Patent Document 2: Japanese Patent Application Laid-Open No. 2002-290396